﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TweetRating
{
    public partial class FormularioAgregarPrograma : Form
    {
        List<IPalabraClave> palabrasClave;

        #region Constructor
        public FormularioAgregarPrograma()
        {
            InitializeComponent();
        }
        #endregion

        #region Eventos
        private void FormularioAgregarPrograma_Load(object sender, EventArgs e)
        {
            this.palabrasClave = new List<IPalabraClave>();
            comboBoxDia.DataSource = Enumeraciones.obtenerDias();
            comboBoxHorarioDesde.DataSource = Enumeraciones.obtenerHoras();
            comboBoxHorarioHasta.DataSource = Enumeraciones.obtenerHoras();
        }
        #endregion

        #region Auxiliares
        private void agregarPalabraClave()
        {
            this.palabrasClave.Add(new PalabraClave(this.textBoxPalabraClave.Text));
            this.textBoxPalabraClave.Clear();
        }
        private void crearProgramaDeTV()
        {
            string elNombre = this.textBoxNombre.Text;
            DayOfWeek elDia = Enumeraciones.obtenerDias().Find(unDia => unDia.ToString() == this.comboBoxDia.SelectedItem.ToString());
            int laHoraDeInicio = int.Parse((this.comboBoxHorarioDesde.SelectedItem as string).Replace(":00", ""));
            int laHoraDeFinalizacion = int.Parse((this.comboBoxHorarioHasta.SelectedItem as string).Replace(":00", ""));

            Programacion laProgramacion = new Programacion(elDia, new Hora(laHoraDeInicio), new Hora(laHoraDeFinalizacion));
            ProgramaDeTV elNuevoPrograma = new ProgramaDeTV(elNombre, laProgramacion, this.palabrasClave);

            MedidorDeAudiencia.agregarProgramaDeTV(elNuevoPrograma);
        }
        #endregion

        #region Botones
        private void buttonAgregarPrograma_Click(object sender, EventArgs e)
        {
            crearProgramaDeTV();
            MessageBox.Show("Listo");
        }
        private void buttonAgregarPalabraClave_Click(object sender, EventArgs e)
        {
            agregarPalabraClave();
        }
        #endregion

    }
}
